Java. Deklaracje i prawa dost pu. Piotr Fulma«ski. December 4, Wydziaˆ Matematyki i Informatyki, Uniwersytet Šódzki, Polska
|
|
- Karolina Sokołowska
- 6 lat temu
- Przeglądów:
Transkrypt
1 Java Deklaracje i prawa dost pu Piotr Fulma«ski Wydziaˆ Matematyki i Informatyki, Uniwersytet Šódzki, Polska December 4, 2010
2 Spis tre±ci 1 Java krótka charakterystyka 2 Deklaracje Nazwy Deklarowanie klas Deklarowanie interfejsów Deklarowanie skªadowych klasy Modykatory dost pu Inne modykatory Konstruktor Zmienne Typ wyliczeniowy (enum)
3 Java krótka charakterystyka Mo»na powiedzie, i» ka»dy program napisany w Javie jest zbiorem pewnych obiektów (ang. objects). Komunikacja mi dzy obiektami zazwyczaj odbywa si za po±rednictwem metod (ang. methods). To czym jest obiekt (jakiego jest rodzaju, typu, co potra) deniowane jest przez klas (ang. class) lub interfejs (ang. interface). Mówi c troch bardziej precyzyjnie
4 Java krótka charakterystyka Obiekt, klasa,... Klasa Jest to pewnego rodzaju wzorzec opisuj cy (deniuj cy) stany jakie mo»e przyj ka»dy obiekt utworzony w oparciu o dan klas a tak»e zachowania (czynno±ci, akcje) jakie s dla niego charakterystyczne (czynno±ci jakie mo»e wykona, akcj jakie mo»na zleci jemu do wykonania). Obiekt Stan Zachowanie
5 Java krótka charakterystyka Obiekt, klasa,... Klasa Jest to pewnego rodzaju wzorzec opisuj cy (deniuj cy) stany jakie mo»e przyj ka»dy obiekt utworzony w oparciu o dan klas a tak»e zachowania (czynno±ci, akcje) jakie s dla niego charakterystyczne (czynno±ci jakie mo»e wykona, akcj jakie mo»na zleci jemu do wykonania). Obiekt Stan Zachowanie
6 Java krótka charakterystyka Obiekt, klasa,... Klasa Jest to pewnego rodzaju wzorzec opisuj cy (deniuj cy) stany jakie mo»e przyj ka»dy obiekt utworzony w oparciu o dan klas a tak»e zachowania (czynno±ci, akcje) jakie s dla niego charakterystyczne (czynno±ci jakie mo»e wykona, akcj jakie mo»na zleci jemu do wykonania). Obiekt Stan Zachowanie
7 Java krótka charakterystyka Obiekt, klasa,... Klasa Jest to pewnego rodzaju wzorzec opisuj cy (deniuj cy) stany jakie mo»e przyj ka»dy obiekt utworzony w oparciu o dan klas a tak»e zachowania (czynno±ci, akcje) jakie s dla niego charakterystyczne (czynno±ci jakie mo»e wykona, akcj jakie mo»na zleci jemu do wykonania). Obiekt Stan Zachowanie
8 Java krótka charakterystyka Obiekt, klasa,... Klasa Jest to pewnego rodzaju wzorzec opisuj cy (deniuj cy) stany jakie mo»e przyj ka»dy obiekt utworzony w oparciu o dan klas a tak»e zachowania (czynno±ci, akcje) jakie s dla niego charakterystyczne (czynno±ci jakie mo»e wykona, akcj jakie mo»na zleci jemu do wykonania). Obiekt Stan Zachowanie
9 Dziedziczenie Java krótka charakterystyka
10 Pakiet jako zbiór klas Java krótka charakterystyka
11 Java krótka charakterystyka Nazwy i sªowa kluczowe Zwykle zagadnienie nazewnictwa stosowanego w Javie bywa marginalizowane przecie» to tylko nazwy. Z nazwami jest jednak tak jak z wymow przyjemniej rozmawia si nam z kim± o dobrej dykcji ni» osob mamrocz c co± niewyra¹nie pod nosem. Dodatkowo niewyra¹na wymowa bywa cz sto ¹ródªem pomyªek i przyczyn braku wzajemnego zrozumienia. Tak samo dzieje si te» w programowaniu. Dlatego postanowili±my po±wi ci nazwom osobny podrozdziaª w dalszej cz ±ci podr cznika (patrz
12 Nazwy Nazwy Mówi c o nazwach, pam ta musimy,»e podlegaj one (jednocze±nie) trzem konwencjom nazewniczym.
13 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Bez wzgl du na to jak nazw (identykator)sobie wymy±limy, czy stosujemy si do wªasnej konwencji czy narzuconej np. przez rm, w której pracujemy, musi ona by poprawna skªadniowo, czyli by zbudowana zgodnie z zasadami wedªug jakich kompilator b dzie j w przyszªo±ci sprawdzaª.
14 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Dopuszczalne znaki Istotna wielko± liter Pierwszy znak Dªugo± identykatora Sªowa kluczowe
15 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Dopuszczalne znaki Istotna wielko± liter Pierwszy znak Dªugo± identykatora Sªowa kluczowe
16 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Dopuszczalne znaki Istotna wielko± liter Pierwszy znak Dªugo± identykatora Sªowa kluczowe
17 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Dopuszczalne znaki Istotna wielko± liter Pierwszy znak Dªugo± identykatora Sªowa kluczowe
18 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Dopuszczalne znaki Istotna wielko± liter Pierwszy znak Dªugo± identykatora Sªowa kluczowe
19 Nazwy Identykatory poprawne skªadniowo Identykatory poprawne skªadniowo Dopuszczalne znaki Istotna wielko± liter Pierwszy znak Dªugo± identykatora Sªowa kluczowe
20 Nazwy Identykatory poprawne skªadniowo Sªowa kluczowe tabela
21 Nazwy Konwencja nazewnicza rmy Sun Konwencja nazewnicza rmy Sun Java Code Convention, September 12,
22 Nazwy Konwencja nazewnicza rmy Sun Konwencja nazewnicza rmy Sun Klasy i interfejsy Metody Zmienne Staªe
23 Nazwy Konwencja nazewnicza rmy Sun Konwencja nazewnicza rmy Sun Klasy i interfejsy Metody Zmienne Staªe
24 Nazwy Konwencja nazewnicza rmy Sun Konwencja nazewnicza rmy Sun Klasy i interfejsy Metody Zmienne Staªe
25 Nazwy Konwencja nazewnicza rmy Sun Konwencja nazewnicza rmy Sun Klasy i interfejsy Metody Zmienne Staªe
26 Nazwy Konwencja nazewnicza rmy Sun Konwencja nazewnicza rmy Sun Klasy i interfejsy Metody Zmienne Staªe
27 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza JavaBean Co to jest JavaBean?
28 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza wªasno±ci (ang. property) JavaBean Gettery Settery
29 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza wªasno±ci (ang. property) JavaBean Gettery Settery
30 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza wªasno±ci (ang. property) JavaBean Gettery Settery
31 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza (ang. listener) JavaBean rejestrowanie listenera (add) wyrejestrowanie listenera (remove) wspólne: ko«cówka to Listener
32 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza (ang. listener) JavaBean rejestrowanie listenera (add) wyrejestrowanie listenera (remove) wspólne: ko«cówka to Listener
33 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza (ang. listener) JavaBean rejestrowanie listenera (add) wyrejestrowanie listenera (remove) wspólne: ko«cówka to Listener
34 Nazwy Konwencja nazewnicza JavaBean Konwencja nazewnicza (ang. listener) JavaBean rejestrowanie listenera (add) wyrejestrowanie listenera (remove) wspólne: ko«cówka to Listener
35 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
36 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
37 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
38 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
39 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
40 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
41 Deklarowanie klas Wiadomo±ci ogólne Wiadomo±ci ogólne Wpªyw komentarzy Tylko jedna klasa publiczna w pliku ¹ródªowym (nie ma limitu na klasy niepubliczne). Class name and le name matching rule (tylko gdy istnieje klasa publiczna). Umiejscowienie sªowa kluczowego package w klasie. Umiejscowienie sªowa kluczowego import w klasie. Globalne dziaªanie package i import w stosunku do klas umieszczonych w tym samym pliku.
42 Deklarowanie klas Najprostsza deklaracja klasy c l a s s myclass { Modykatory Modykatory dost pu: public, protected, private. Inne modykatory: final, abstract, strictfp
43 Deklarowanie klas Najprostsza deklaracja klasy c l a s s myclass { Modykatory Modykatory dost pu: public, protected, private. Inne modykatory: final, abstract, strictfp
44 Deklarowanie klas Najprostsza deklaracja klasy c l a s s myclass { Modykatory Modykatory dost pu: public, protected, private. Inne modykatory: final, abstract, strictfp
45 Deklarowanie klas Najprostsza deklaracja klasy c l a s s myclass { Modykatory Modykatory dost pu: public, protected, private. Inne modykatory: final, abstract, strictfp
46 Deklarowanie klas Modykatory dost pu Modykatory dost pu Cho mamy trzy modykatory dost pu (public, protected, private), to w Javie mamy cztery poziomy kontroli (ang. level or access control) czwarty nazywany jest domy±lnym (ang. default access level) lub pakietowym (ang. package access level). W stosunku do klas u»ywamy albo dost pu domy±lnego, albo public.
47 Deklarowanie klas Modykatory dost pu Co rozumiemy pod poj ciem: dost p do klasy? Powiemy,»e klasa A ma dost p do klasy B je±li klasa A mo»e wykona jedn z nast puj cych czynno±ci Utworzy instancj klasy B. Rozszerzy klas B. U»ywa metod i zmiennych klasy B (zale»nie od ich modykatorów dost pu).
48 Deklarowanie klas Modykatory dost pu Co rozumiemy pod poj ciem: dost p do klasy? Powiemy,»e klasa A ma dost p do klasy B je±li klasa A mo»e wykona jedn z nast puj cych czynno±ci Utworzy instancj klasy B. Rozszerzy klas B. U»ywa metod i zmiennych klasy B (zale»nie od ich modykatorów dost pu).
49 Deklarowanie klas Modykatory dost pu Co rozumiemy pod poj ciem: dost p do klasy? Powiemy,»e klasa A ma dost p do klasy B je±li klasa A mo»e wykona jedn z nast puj cych czynno±ci Utworzy instancj klasy B. Rozszerzy klas B. U»ywa metod i zmiennych klasy B (zale»nie od ich modykatorów dost pu).
50 Deklarowanie klas Modykatory dost pu Co rozumiemy pod poj ciem: dost p do klasy? Powiemy,»e klasa A ma dost p do klasy B je±li klasa A mo»e wykona jedn z nast puj cych czynno±ci Utworzy instancj klasy B. Rozszerzy klas B. U»ywa metod i zmiennych klasy B (zale»nie od ich modykatorów dost pu).
51 Deklarowanie klas Domy±lny poziom kontroli package p a k i e t 1 ; c l a s s K l a s a { Listing 1: Plik Klasa.java Listing 2: Plik KlasaLepsza.java package p a k i e t 2 ; import p a k i e t 1. K l a s a ; c l a s s K l a s a L e p s z a extends K l a s a { Wynik próby uruchomienia Can't access class pakiet1.klasa. Class or interface must be public, in same package, or an accessible member class. import pakiet1.klasa;
52 Deklarowanie klas Publiczny poziom kontroli package p a k i e t 1 ; p u b l i c c l a s s K l a s a { Teraz mo»na napisa Listing 3: Plik Klasa.java Listing 4: Plik KlasaLepsza.java package p a k i e t 2 ; import p a k i e t 1. K l a s a ; c l a s s K l a s a L e p s z a extends K l a s a {
53 final Deklarowanie klas Inne modykatory
54 abstract Deklarowanie klas Inne modykatory
55 strictfp Deklarowanie klas Inne modykatory
56 Deklarowanie interfejsów Czym jest interfejs? Czym jest interfejs? Interfejs jest pewnego rodzaju umow okre±laj c co klasa mo»e robi, bez okre±lania w jaki sposób to robi.
57 Deklarowanie interfejsów Czym jest interfejs? O interfejsie mo»na my±le jak o 100% abstakcyjnej klasie. W konsekwencji metody interfejsu z denicji s publiczne i abstrakcyjne wi c nie musimy tego pisa : p u b l i c a b s t r a c t void i n t e r f a c e M e t h o d ( ) ; zwykle zapisujemy jako void i n t e r f a c e M e t h o d ( ) ;
58 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
59 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
60 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
61 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
62 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
63 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
64 Deklarowanie interfejsów Pozostaªe cechy interfejsów Pozostaªe cechy interfejsów Interfejs deklarujemy za pomoc sªowa kluczowego interface. Wszystkie zmienne interfejsu musz by publiczne, statyczne i zadeklarowane jako final inymi sªowy, w interfejsie mo»na tworzy tylko staªe. Konsekwencja tego jest taka jak dla metod: poniewa» zmienna musz by takie, wiec nie trzeba tego pisa. Interfejs nie mo»e posiada modykatora static. Poniewa» metody interfejsu s abstrakcyjne, wi c nie mog by final, strictfp, native. Interfejsc mo»e tylko rozszerza jeden lub wi cej interfejsów. Interfejs nie mo»e implementowa innego interfejsu lub klasy.
65 Deklarowanie skªadowych klasy Modykatory Modykatory dost pu Podczas gdy klasa mo»e u»ywa tylko dwóch modykatorów dost pu, tj. domy±lnego lub public, skªadowe klasy (czyli metody i zmienne) mog u»ywa wszystkich czterech modykatorów, tj. public, protected, private oraz domy±lny.
66 Deklarowanie skªadowych klasy Modykatory Modykator public Dost p maj wszyscy, bez wzgl du na pakiet w jakim si znajduj (zakªadaj c,»e modykatory klas na to pozwalaj ).
67 Deklarowanie skªadowych klasy Modykator public (odwoªania do skªadowych) package book ; import c e r t. ; c l a s s Goo { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { S ludge o = new S ludge ( ) ; o. t e s t I t ( ) ; package c e r t ; p u b l i c c l a s s S ludge { p u b l i c void t e s t I t ( ) { System. out. p r i n t l n ( " s l u d g e " ) ;
68 Deklarowanie skªadowych klasy Modykator public (wpªyw na dziedziczenie) package c e r t ; p u b l i c c l a s s Roo { p u b l i c S t r i n g doroothings ( ) { // i m a g i n e t h e fun code t h a t goes h e r e r e t u r n " fun " ; package n o t c e r t ; import c e r t. Roo ; c l a s s Cloo extends Roo { p u b l i c void t e s t C l o o ( ) { System. out. p r i n t l n ( doroothings ( ) ) ; // cdn
69 Deklarowanie skªadowych klasy Modykator public (wpªyw na dziedziczenie) // cd c l a s s Toon { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { Cloo c = new Cloo ( ) ; System. out. p r i n t l n ( c. doroothings ( ) ) ; //No problem ; method i s p u b l i c
70 Deklarowanie skªadowych klasy Modykatory Modykator private Skªadowe prywatne s przeciwie«stwem skªadowych publicznych dos p do nich ma tylko klasa, w której zostaªy zadeklarowane.
71 Deklarowanie skªadowych klasy Modykator private (odwoªania do skªadowych 1/2) package c e r t ; p u b l i c c l a s s Roo { p r i v a t e S t r i n g doroothings ( ) { // i m a g i n e t h e fun code t h a t goes here, // but o n l y t h e Roo c l a s s knows r e t u r n " fun " ; package n o t c e r t ; import c e r t. Roo ; c l a s s UseARoo { p u b l i c void t e s t I t ( ) { Roo r = new Roo ( ) ; // So f a r so good ; // c l a s s Roo i s p u b l i c System. out. p r i n t l n ( r. doroothings ( ) ) ; // C o m p i l e r e r r o r!
72 Deklarowanie skªadowych klasy Modykator private (odwoªania do skªadowych 2/2) cannot find symbol symbol : method doroothings()
73 Deklarowanie skªadowych klasy Modykator private (wpªyw na dziedziczenie 1/2) package c e r t ; p u b l i c c l a s s Roo { p r i v a t e S t r i n g doroothings ( ) { // i m a g i n e t h e fun code t h a t goes here, // but no o t h e r c l a s s w i l l know r e t u r n " fun " ; package c e r t ; // Cloo and Roo a r e i n t h e same package c l a s s Cloo extends Roo {// S t i l l OK, s u p e r c l a s s Roo i s p u b l i c p u b l i c void t e s t C l o o ( ) { System. out. p r i n t l n ( doroothings ( ) ) ; // C o m p i l e r e r r o r!
74 Deklarowanie skªadowych klasy Modykator private (wpªyw na dziedziczenie 2/2) %javac Cloo.java Cloo.java:4: Undefined method: doroothings() System.out.println(doRooThings()); 1 error
75 Deklarowanie skªadowych klasy Modykatory Modykator protected W przypadku modykatora protected do skªadowej maj dost p wszystkie klasy potomne (nawet te z innych pakietów) oraz klasy z danego pakietu.
76 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych 1/2) package c e r t i f i c a t i o n ; p u b l i c c l a s s O t h e r C l a s s { void t e s t I t ( ) { // No m o d i f i e r means method has d e f a u l t // a c c e s s System. out. p r i n t l n ( " O t h e r C l a s s " ) ; package s o m e t h i n g E l s e ; import c e r t i f i c a t i o n. O t h e r C l a s s ; c l a s s A c c e s s C l a s s { s t a t i c p u b l i c void main ( S t r i n g [ ] a r g s ) { O t h e r C l a s s o = new O t h e r C l a s s ( ) ; o. t e s t I t ( ) ;
77 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych 2/2) No method matching testit() found in class certification.otherclass. o.testit();
78 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych) package c e r t i f i c a t i o n ; p u b l i c c l a s s Parent { protected i n t x = 9 ; // p r o t e c t e d a c c e s s package o t h e r ; // D i f f e r e n t package import c e r t i f i c a t i o n. Parent ; c l a s s C h i l d extends Parent { p u b l i c void t e s t I t ( ) { System. out. p r i n t l n ( " x i s " + x ) ; // No problem ; C h i l d // i n h e r i t s x
79 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych 1/2) package c e r t i f i c a t i o n ; p u b l i c c l a s s Parent { protected i n t x = 9 ; // p r o t e c t e d a c c e s s package o t h e r ; import c e r t i f i c a t i o n. Parent ; c l a s s C h i l d extends Parent { p u b l i c void t e s t I t ( ) { System. out. p r i n t l n ( " x i s " + x ) ; // No problem ; // C h i l d i n h e r i t s x Parent p = new Parent ( ) ; // Can we a c c e s s x u s i n g t h e // p r e f e r e n c e? System. out. p r i n t l n ( "X i n p a r e n t i s " + p. x ) ; // C o m p i l e r e r r o r!
80 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych 2/2) %javac -d. other/child.java other/child.java:9: x has protected access in certification.parent System.out.println("X in parent is " + p.x); ^ 1 error
81 Deklarowanie skªadowych klasy Modykatory Modykator domy±lny W przypadku domy±lnego poziomu dost pu do skªadowej maj dost p klasy z tego samego pakietu.
82 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych 1/2) package c e r t i f i c a t i o n ; p u b l i c c l a s s O t h e r C l a s s { void t e s t I t ( ) { // No m o d i f i e r means method has d e f a u l t // a c c e s s System. out. p r i n t l n ( " O t h e r C l a s s " ) ; package o t h e r ; // D i f f e r e n t package import c e r t i f i c a t i o n. Parent ; c l a s s C h i l d extends Parent { p u b l i c void t e s t I t ( ) { System. out. p r i n t l n ( " x i s " + x ) ;
83 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych 2/2) Child.java:4: Undefined variable: x System.out.println("Variable x is " + x); 1 error
84 Deklarowanie skªadowych klasy Modykator protected (odwoªania do skªadowych) package c e r t i f i c a t i o n ; p u b l i c c l a s s Parent { i n t x = 9 ; // d e f a u l t a c c e s s package c e r t i f i c a t i o n ; c l a s s C h i l d extends Parent { s t a t i c p u b l i c void main ( S t r i n g [ ] a r g s ) { C h i l d s c = new C h i l d ( ) ; s c. t e s t I t ( ) ; p u b l i c void t e s t I t ( ) { System. out. p r i n t l n ( " V a r i a b l e x i s " + x ) ; problem ; // No
85 Deklarowanie zmiennych lokalnych Modykator protected (odwoªania do skªadowych) Poni»szy zapis nie jest poprawny c l a s s Foo { void d o S t u f f ( ) { p r i v a t e i n t x = 7 ; t h i s. domore ( x ) ; Jedyny modykator jaki mo»na zastosowa do zmiennych lokalnych to final.
86 Deklarowanie skªadowych klasy Modykatory Modykatory dost pu podsumowanie Widoczno± public protected private domy±lny Ta sama klasa Inna klasa z tego samego pakietu Podklasa z tego samego pakietu Podklasa z innego pakietu Klasa z innego pakietu
87 Deklarowanie skªadowych klasy Inne modykatory Inne modykatory dost pu final, abstract, synchronized, native, strictfp
88 Deklarowanie skªadowych klasy Modykatory Modykator final Zabezpiecza metod przed jej przesªoni ciem w klasie potomnej (ang. override)
89 Deklarowanie skªadowych klasy Modykator final (w przypadku metody) c l a s s S u p e r C l a s s { p u b l i c f i n a l void showsample ( ) { System. out. p r i n t l n ( "One t h i n g. " ) ; c l a s s S u b C l a s s extends S u p e r C l a s s { p u b l i c void showsample ( ) { // Try to o v e r r i d e t h e f i n a l // s u p e r c l a s s method System. out. p r i n t l n ( " Another t h i n g. " ) ;
90 Deklarowanie skªadowych klasy Modykator final (w przypadku metody) %javac FinalTest.java FinalTest.java:5: The method void showsample() declared in class SubClass cannot override the final method of the same signature declared in class SuperClass. Final methods cannot be overridden. public void showsample() { 1 error
91 Deklarowanie skªadowych klasy Modykator final (w przypadku argumentu) p u b l i c Record g e t R e c o r d ( i n t f i l e N u m b e r, i n t recnumber ) { p u b l i c Record g e t R e c o r d ( i n t f i l e N u m b e r, f i n a l i n t recordnumber ) {
92 Deklarowanie skªadowych klasy Modykatory Modykator abstract Metoda abstrakcyjna to metoda, która zostaªa zadeklarowana, ale nie zostaªa zaimplementowana.
93 Deklarowanie skªadowych klasy Modykator abstract (w przypadku metody) p u b l i c c l a s s I l l e g a l C l a s s { // i l l e g a l i f c l a s s i s not a b s t r a c t p u b l i c a b s t r a c t void d o I t ( ) ; IllegalClass.java:1: class IllegalClass must be declared abstract. It does not define void doit() from class IllegalClass. public class IllegalClass{ 1 error
94 Deklarowanie skªadowych klasy Modykator abstract (w przypadku metody) O ile nie mo»e by niebastrakcyjnej klasy z metodami abstrakcyjymi to mo»e by abstrakcyjna klasa z (tylko) metodami nieabstrakcyjnymi. p u b l i c a b s t r a c t c l a s s L e g a l C l a s s { void goodmethod ( ) { // l o t s o f r e a l i m p l e m e n t a t i o n code h e r e
95 Modykator abstract (w przypadku metody) Pytanie: ile metod jest w klasie Mini Deklarowanie skªadowych klasy p u b l i c a b s t r a c t c l a s s V e h i c l e { p r i v a t e S t r i n g t y p e ; p u b l i c a b s t r a c t void g o U p H i l l ( ) ; // A b s t r a c t method p u b l i c S t r i n g gettype ( ) { // Non a b s t r a c t method r e t u r n t y p e ; p u b l i c a b s t r a c t c l a s s Car extends V e h i c l e { p u b l i c a b s t r a c t void g o U p H i l l ( ) ; // S t i l l a b s t r a c t p u b l i c void docarthings ( ) { // s p e c i a l c a r code goes h e r e p u b l i c c l a s s Mini extends Car { p u b l i c void g o U p H i l l ( ) { // Mini s p e c i f i c g o i n g u p h i l l code
96 Deklarowanie skªadowych klasy Modykator abstract (w przypadku metody) Pytanie: czy ten kod si skompiluje? p u b l i c a b s t r a c t c l a s s A { a b s t r a c t void f o o ( ) ; c l a s s B extends A { void f o o ( i n t I ) { To jest przykªad na przeªadowanie (przeci»enie) (ang. overload). Klasa B nie zawiera w sobie implementacji metody foo.
97 Deklarowanie skªadowych klasy Modykator abstract (w przypadku metody) Pytanie: czy ten kod si skompiluje? p u b l i c a b s t r a c t c l a s s A { a b s t r a c t void f o o ( ) ; c l a s s B extends A { void f o o ( i n t I ) { To jest przykªad na przeªadowanie (przeci»enie) (ang. overload). Klasa B nie zawiera w sobie implementacji metody foo.
98 Deklarowanie skªadowych klasy Modykator abstract (w przypadku metody) abstract + static = illegal a b s t r a c t s t a t i c void d o S t u f f ( ) ; MyClass.java:2: illegal combination of modifiers: abstract and static abstract static void dostuff();
99 Deklarowanie skªadowych klasy Modykator synchronized synchronized oznacza,»e metoda nie mo»e by wywoªana przez wi cej ni» jeden w tek w tym samym czasie. p u b l i c synchronized Record r e t r i e v e U s e r I n f o ( i n t i d ) { Modykator ten dotyczy tylko metod (nie zmiennych, nie klas).
100 Deklarowanie skªadowych klasy Modykatory Modykator native, strictfp Modykator native oznacza,»e metoda (i tylko metoda) zaimplementowana zostaªa w sposób zale»ny platformowo, np. w j zyku C. Ciaªo takiej metody zast pujemy znakiem ±rednika (podobnie jak ciaªo metody abstrakcyjnej).
101 Deklarowanie skªadowych klasy Deklarowanie metod ze zmienn list argumentów L e g a l : void d o S t u f f ( i n t... x ) { // e x p e c t s from 0 to many i n t s // as p a r a m e t e r s void d o S t u f f 2 ( char c, i n t... x ) { // e x p e c t s f i r s t a char, // then 0 to many i n t s void d o S t u f f 3 ( Animal... a n i m a l ) { // 0 to many Animals I l l e g a l : void d o S t u f f 4 ( i n t x... ) { // bad s y n t a x void d o S t u f f 5 ( i n t... x, char... y ) { // too many var a r g s void d o S t u f f 6 ( S t r i n g... s, byte b ) { // var a r g must be l a s t
102 Deklarowanie skªadowych klasy Konstruktor c l a s s Foo { protected Foo ( ) { // t h i s i s Foo ' s c o n s t r u c t o r protected void Foo ( ) { // t h i s i s a b a d l y named, // but l e g a l, method Konstruktor Konstruktor nie mo»e by poprzedzony modykatorem static, final ani abstract.
103 Deklarowanie skªadowych klasy Konstruktor c l a s s Foo { protected Foo ( ) { // t h i s i s Foo ' s c o n s t r u c t o r protected void Foo ( ) { // t h i s i s a b a d l y named, // but l e g a l, method Konstruktor Konstruktor nie mo»e by poprzedzony modykatorem static, final ani abstract.
104 Deklarowanie skªadowych klasy Konstruktor c l a s s Foo2 { // l e g a l c o n s t r u c t o r s Foo2 ( ) { p r i v a t e Foo2 ( byte b ) { Foo2 ( i n t x ) { Foo2 ( i n t x, i n t... y ) {
105 Deklarowanie skªadowych klasy Konstruktor c l a s s Foo2 { // i l l e g a l c o n s t r u c t o r s void Foo2 ( ) { // i t ' s a method, not a c o n s t r u c t o r Foo ( ) { // not a method o r a c o n s t r u c t o r Foo2 ( short s ) ; // l o o k s l i k e an a b s t r a c t method s t a t i c Foo2 ( f l o a t f ) { // can ' t be s t a t i c f i n a l Foo2 ( long x ) { // can ' t be f i n a l a b s t r a c t Foo2 ( char c ) { // can ' t be a b s t r a c t Foo2 ( i n t... x, i n t t ) { // bad var a r g s y n t a x
106 Deklarowanie skªadowych klasy Zmienne W Javie mamy dwa rodzaje zmiennych Zmienne proste char, boolean, byte, short, int, long, float, double byte b ; boolean m y B o o l e a n P r i m i t i v e ; i n t x, y, z ; Zmienne referencyjne czyli zmienne u»ywane w stosunku do obiektów. Zmienna referencyjna pozwala na uzyskanie dost pu do obiektów typu takiego jak zmienna referencyjna lub b d cych podtypem zaeklarowanego typu. O b ject o ; Dog mynewdogreferencevariable ; S t r i n g s1, s2, s3 ;
107 Deklarowanie skªadowych klasy Zmienne instancyjne c l a s s Employee { // d e f i n e f i e l d s ( i n s t a n c e v a r i a b l e s ) f o r employee i n s t a n c e s p r i v a t e S t r i n g name ; p r i v a t e S t r i n g t i t l e, p r i v a t e S t r i n g manager ; // o t h e r code goes h e r e i n c l u d i n g a c c e s s methods f o r p r i v a t e // f i e l d s
108 Deklarowanie skªadowych klasy Zmienne lokalne c l a s s T e s t S e r v e r { p u b l i c void l o g I n ( ) { i n t count = 1 0 ;
109 Deklarowanie skªadowych klasy Zmienne lokalne c l a s s T e s t S e r v e r { p u b l i c void l o g I n ( ) { i n t count = 1 0 ; p u b l i c void dosomething ( i n t i ) { count = i ; // Won ' t c o m p i l e! Can ' t a c c e s s count o u t s i d e // method l o g I n ( )
110 Deklarowanie skªadowych klasy Zmienne instancyjne i lokalne (shadowing) c l a s s T e s t S e r v e r { i n t count = 9 ; // D e c l a r e an i n s t a n c e v a r i a b l e named count p u b l i c void l o g I n ( ) { i n t count = 1 0 ; // D e c l a r e a l o c a l v a r i a b l e named count System. out. p r i n t l n ( " l o c a l v a r i a b l e count i s "+count ) ; p u b l i c void count ( ) { System. out. p r i n t l n ( " i n s t a n c e v a r i a b l e count i s " + count ) ; p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { new T e s t S e r v e r ( ). l o g I n ( ) ; new T e s t S e r v e r ( ). count ( ) ;
111 Deklarowanie skªadowych klasy Zmienne instancyjne i lokalne (shadwing) i l l e g a l c l a s s Foo { i n t s i z e = 2 7 ; p u b l i c void s e t S i z e ( i n t s i z e ) { s i z e = s i z e ; //??? which s i z e e q u a l s which s i z e??? l e g a l : c l a s s Foo { i n t s i z e = 2 7 ; p u b l i c void s e t S i z e ( i n t s i z e ) { t h i s. s i z e = s i z e ; // t h i s. s i z e means t h e c u r r e n t o b j e c t ' s // i n s t a n c e v a r i a b l e, s i z e. The s i z e // on t h e r i g h t i s t h e p a r a m e t e r
112 Deklarowanie skªadowych klasy Tablice D e c l a r i n g an Array o f P r i m i t i v e s i n t [ ] key ; // Recommended i n t key [ ] ; // L e g a l but l e s s r e a d a b l e D e c l a r i n g an Array o f O b ject R e f e r e n c e s Thread [ ] t h r e a d s ; // Recommended Thread t h r e a d s [ ] ; // L e g a l but l e s s r e a d a b l e S t r i n g [ ] [ ] [ ] occupantname ; S t r i n g [ ] managername [ ] ; // L e g a l but not recommended
113 Deklarowanie skªadowych klasy Zmienne Statyczne zmienne i metody Modykator static wykorzysywany jest do utworzenia zmiennych i metod stniej cych niezale»nie od jakichkolwiek obiektów danej klasy.
114 Deklarowanie skªadowych klasy Typ wyliczeniowy (enum) enum C o f f e e S i z e { BIG, HUGE, OVERWHELMING ; C o f f e e S i z e c s = C o f f e e S i z e. BIG ;
115 Deklarowanie skªadowych klasy Typ wyliczeniowy (enum) na zewn trz klasy // t h i s cannot be p r i v a t e o r p r o t e c t e d enum C o f f e e S i z e { BIG, HUGE, OVERWHELMING c l a s s C o f f e e { C o f f e e S i z e s i z e ; p u b l i c c l a s s C o f f e e T e s t 1 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { C o f f e e d r i n k = new C o f f e e ( ) ; d r i n k. s i z e = C o f f e e S i z e. BIG ; // enum o u t s i d e c l a s s
116 Deklarowanie skªadowych klasy Typ wyliczeniowy (enum) wewn trz klasy c l a s s C o f f e e 2 { enum C o f f e e S i z e {BIG, HUGE, OVERWHELMING C o f f e e S i z e s i z e ; p u b l i c c l a s s C o f f e e T e s t 2 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { C o f f e e 2 d r i n k = new C o f f e e 2 ( ) ; d r i n k. s i z e = C o f f e e 2. C o f f e e S i z e. BIG ; // e n c l o s i n g c l a s s // name r e q u i r e d
117 Deklarowanie skªadowych klasy Typ wyliczeniowy (enum) nie mo»e by deklarowany wewn trz metody p u b l i c c l a s s C o f f e e T e s t 1 { p u b l i c s t a t i c void main ( S t r i n g [ ] a r g s ) { enum C o f f e e S i z e { BIG, HUGE, OVERWHELMING C o f f e e d r i n k = new C o f f e e ( ) ; d r i n k. s i z e = C o f f e e S i z e. BIG ; Opcjonaln ±rednik // s e m i c o l o n a t t h e end o f t h e enum d e c l a r a t i o n i s o p t i o n a l enum C o f f e e S i z e { BIG, HUGE, OVERWHELMING ;
Interfejsy, klasy wewn trzne jako szczególny rodzaj obiektów
Interfejsy, klasy wewn trzne jako szczególny rodzaj obiektów Robert A. Kªopotek r.klopotek@uksw.edu.pl Wydziaª Matematyczno-Przyrodniczy. Szkoªa Nauk cisªych, UKSW 16.03.2017 Interfejsy raz jeszcze "Interfejsy
Imi i nazwisko... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy
Imi i nazwisko....................................................... Egzamin - Programowanie Obiektowe II rok informatyki, studia pierwszego stopnia, niestacjonarne Termin zerowy 21.01.2017 Instrukcja:
Kurs programowania. Wykład 13. Wojciech Macyna. 14 czerwiec 2017
Wykład 13 14 czerwiec 2017 Java vs cpp - podobieństwa Podobny sposób definiowania klas. Występowanie typów podstawowych: boolean, char, byte, short, int, long, float, double. Podobna zasada definiowania
1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.
1 Klasy. Klasa to inaczej mówi c typ który podobnie jak struktura skªada si z ró»nych typów danych. Tworz c klas programista tworzy nowy typ danych, który mo»e by modelem rzeczywistego obiektu. 1.1 Denicja
Programowanie obiektowe
Programowanie obiektowe Wykład 2: Wstęp do języka Java 3/4/2013 S.Deniziak: Programowanie obiektowe - Java 1 Cechy języka Java Wszystko jest obiektem Nie ma zmiennych globalnych Nie ma funkcji globalnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych
Marcin Luckner Politechnika Warszawska Wydział Matematyki i Nauk Informacyjnych mluckner@mini.pw.edu.pl http://www.mini.pw.edu.pl/~lucknerm Programy w Javie składają się z pakietów Pakiety zawierają definicje
Java Język programowania
Java Język programowania Język Java Bazuje i jest zbliżony do C/C++ Porosty zbiór typów danych (podział na typy prymitywne i obiektowe) Zarządzanie pamięcią i Garbage Collection Zintegrowana synchronizacja
Wykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Kurs WWW. Paweł Rajba. pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/
Paweł Rajba pawel@ii.uni.wroc.pl http://pawel.ii.uni.wroc.pl/ Spis treści Wprowadzenie Automatyczne ładowanie klas Składowe klasy, widoczność składowych Konstruktory i tworzenie obiektów Destruktory i
Programowanie obiektowe w C++ Wykªad 4
Programowanie obiektowe w C++ Wykªad 4 dr Lidia St pie«akademia im. Jana Dªugosza w Cz stochowie L. St pie«(ajd) Programowanie obiektowe w C++ 1 / 26 Dziedziczenie - podstawy Denicja klasy dziedzicz cej
Pakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Programowanie w Internecie. Java
Programowanie w Internecie Java Autor: dr inż. Zofia Kruczkiewicz Literatura: L. Lemay, R. Cadenhead P. Naughton Krzysztof Barteczko Boone Barry Java 2 dla każdego Podręcznik Języka Programowania Java
Wzorce projektowe strukturalne cz. 1
Wzorce projektowe strukturalne cz. 1 Krzysztof Ciebiera 19 pa¹dziernika 2005 1 1 Wst p 1.1 Podstawowe wzorce Podstawowe wzorce Podstawowe informacje Singleton gwarantuje,»e klasa ma jeden egzemplarz. Adapter
JAVA W SUPER EXPRESOWEJ PIGUŁCE
JAVA W SUPER EXPRESOWEJ PIGUŁCE Obiekt Obiekty programowe to zbiór własności i zachowań (zmiennych i metod). Podobnie jak w świecie rzeczywistym obiekty posiadają swój stan i zachowanie. Komunikat Wszystkie
Programowanie obiektowe
Programowanie obiektowe Laboratorium 3 i 4 - przypomnienie wiadomości o OOP na przykładzie Javy mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 8 marca 2017 1 / 20 mgr inż. Krzysztof Szwarc
KLASY, INTERFEJSY, ITP
KLASY, INTERFEJSY, ITP ZAGADNIENIA: Klasy, modyfkatory dostępu, pakiety. Zmienne i metody statyczne. Klasy abstrakcyjne, dziedziczenie. Interfejsy. Komentarze i javadoc, http://th-www.if.uj.edu.pl/zfs/ciesla/
Kurs programowania. Wykład 1. Wojciech Macyna. 3 marca 2016
Wykład 1 3 marca 2016 Słowa kluczowe języka Java abstract, break, case, catch, class, const, continue, default, do, else, enum, extends, final, finally, for, goto, if, implements, import, instanceof, interface,
Podstawy modelowania w j zyku UML
Podstawy modelowania w j zyku UML dr hab. Bo»ena Wo¹na-Szcze±niak Akademia im. Jan Dªugosza bwozna@gmail.com Wykªad 8 Diagram pakietów I Diagram pakietów (ang. package diagram) jest diagramem strukturalnym,
Programowanie obiektowe
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Krzysztof Lemay, Naughton Barteczko R. Cadenhead JAVA, Java Podręcznik 2 wykłady dla kaŝdego Języka i ćwiczenia Programowania
Aplikacje Internetowe. Najprostsza aplikacja. Komponenty Javy. Podstawy języka Java
Aplikacje Internetowe Podstawy języka Java Najprostsza aplikacja class Hello { public static void main(string[] args) { System.out.println("Hello World!"); Komponenty Javy JRE Java Runtime Environment
2. Składnia, środowisko i konwencje w Javie
Gdańsk, 2014 Ogólnie o Javie Środowisko Java jest językiem programowania, którego podstawowym celem jest realizacja zasady write once, run anywhere. Oznacza to możliwość wykonania tego samego programu,
1. Wprowadzenie do C/C++
Podstawy Programowania - Roman Grundkiewicz - 013Z Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Języki Programowania II Wykład 3. Java podstawy. Przypomnienie
Języki Programowania II Wykład 3 Java podstawy Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo Przypadki użycia = opowiastki o używaniu systemu = wymagania
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.
Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to
0.1 Hierarchia klas. 0.1.1 Diagram. 0.1.2 Krótkie wyjaśnienie
0.1 Hierarchia klas 0.1.1 Diagram 0.1.2 Krótkie wyjaśnienie Po pierwsze to jest tylko przykładowe rozwiązanie. Zarówno na wtorkowych i czwartkowych ćwiczeniach odbiegaliśmy od niego, ale nie wiele. Na
Enkapsulacja, dziedziczenie, polimorfizm
17 grudnia 2008 Spis treści I Enkapsulacja 1 Enkapsulacja 2 Spis treści II Enkapsulacja 3 Czym jest interfejs Jak definuje się interfejs? Rozszerzanie interfejsu Implementacja interfejsu Częściowa implementacja
Klasy abstrakcyjne, interfejsy i polimorfizm
Programowanie obiektowe 12 kwietnia 2011 Organizacyjne Klasówka będzie 20 IV 2011. Sale jeszcze są pertraktowane. Materiał do wyjątków włącznie. Można mieć swoje materiały nieelektroniczne. Wywołanie z
1. Wprowadzenie do C/C++
Podstawy Programowania :: Roman Grundkiewicz :: 014 Zaj cia 1 1 rodowisko Dev-C++ 1. Wprowadzenie do C/C++ Uruchomienie ±rodowiska: Start Programs Developments Dev-C++. Nowy projekt: File New Project lub
Model obiektu w JavaScript
16 marca 2009 E4X Paradygmat klasowy Klasa Deniuje wszystkie wªa±ciwo±ci charakterystyczne dla wybranego zbioru obiektów. Klasa jest poj ciem abstrakcyjnym odnosz cym si do zbioru, a nie do pojedynczego
Platformy Programistyczne Podstawy języka Java
Platformy Programistyczne Podstawy języka Java Agata Migalska 6 maja 2014 Plan wykładu 1 Sztuka wysławiania się w języku Java 2 Cały świat jest obiektem 3 Kolekcje 4 Zmienne i metody statyczne 5 Słowo
1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Klasy. dr Anna Łazińska, WMiI UŁ Podstawy języka Java 1 / 13
Klasy Klasa to grupa obiektów, które mają wspólne właściwości, a obiekt jest instancją klasy. Klasa w języku Java może zawierać: pola - reprezentują stan obiektu (odniesienie do pola z kropką), methods
Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]
1. Typy. Java jest językiem programowania z silnym systemem kontroli typów. To oznacza, że każda zmienna, atrybut czy parametr ma zadeklarowany typ. Kompilator wylicza typy wszystkich wyrażeń w programie
Programowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 3 Java podstawy Przygotował: Jacek Sroka 2 Przypomnienie Analiza, projektowanie, programowanie, testowanie, wdrażanie Iteracyjnie nie kaskadowo
Informatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki
Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas
Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Polimorfizm. dr Jarosław Skaruz
Polimorfizm dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com O czym będzie? finalne składowe klasy abstrakcyjne interfejsy polimorfizm Finalne składowe Domyślnie wszystkie pola i metody
Dokumentacja do API Javy.
Dokumentacja do API Javy http://java.sun.com/j2se/1.5.0/docs/api/ Klasy i obiekty Klasa jest to struktura zawierająca dane (pola), oraz funkcje operujące na tych danych (metody). Klasa jest rodzajem szablonu
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1. Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory.
PROGRAMOWANIE OBIEKTOWE W C++ - cz 1 Definicja klasy, składniki klasy, prawa dost pu, definiowanie funkcji składowych, konstruktory i destruktory. Program komputerowy opisuje w pewien sposób rzeczywisto.
Polimorfizm, metody wirtualne i klasy abstrakcyjne
Programowanie obiektowe Polimorfizm, metody wirtualne i klasy abstrakcyjne Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Polimorfizm,
Technologie i usługi internetowe cz. 2
Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,
Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński
Java - wprowadzenie Programowanie Obiektowe Mateusz Cicheński O języku Czym jest Java Cechy charakterystyczne języka Przykładowe zastosowania Składnia języka Podstawowe typy Wybrane słowa kluczowe Plan
Programowanie obiektowe
Programowanie obiektowe IV. Interfejsy i klasy wewnętrzne Małgorzata Prolejko OBI JA16Z03 Plan Właściwości interfejsów. Interfejsy a klasy abstrakcyjne. Klonowanie obiektów. Klasy wewnętrzne. Dostęp do
Dziedziczenie. Tomasz Borzyszkowski
Dziedziczenie Tomasz Borzyszkowski Podstawy Zobacz: Dziedzictwo1.java Dziedzictwo2.java Dziedziczenie jest jedną z podstawowych cech OOP ponieważ umożliwia łatwe implementowanie klasyfikacji hierarchicznych.
Kurs programowania. Wykład 2. Wojciech Macyna. 17 marca 2016
Wykład 2 17 marca 2016 Dziedziczenie Klasy bazowe i potomne Dziedziczenie jest łatwym sposobem rozwijania oprogramowania. Majac klasę bazowa możemy ja uszczegółowić (dodać nowe pola i metody) nie przepisujac
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - dziedziczenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 W ramach poprzedniego laboratorium
Klasa jest nowym typem danych zdefiniowanym przez użytkownika. Najprostsza klasa jest po prostu strukturą, np
Klasy Klasa jest nowym typem danych zdefiniowanym przez użytkownika Wartości takiego typu nazywamy obiektami Najprostsza klasa jest po prostu strukturą, np struct Zespolona { Klasy jako struktury z operacjami
Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Programowanie obiektowe
Programowanie obiektowe Wykład 2 Marcin Młotkowski 4 marca 2015 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 47 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie;
Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)
MAS dr. Inż. Mariusz Trzaska Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1) Zagadnienia o Podstawy o Kontrolowanie sterowania o Klasy o Interfejsy o Obsługa błędów o Pojemniki o System
JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Programowanie Komputerów
Programowanie Komputerów Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Wykład 30 godzin, Laboratoria 30 godzin 2012/ Strona 1 z 28 1. Tablice w C# Indeksowane od zera
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)?
1. Co można powiedzieć o poniższym kodzie (zakładając, że zaimportowano wszystkie niezbędne klasy)? public static void test1() { Object[] o = new Object[] { "1", "2", "3" ; List l = new ArrayList(Arrays.asList(o));
Programowanie obiektowe
Przygotował: Jacek Sroka 1 Programowanie obiektowe Wykład 4 Java podstawy c.d. (w tym pakiety, polimorfizm, modyfikatory, klasy abstrakcyjne, interfejsy) Przygotował: Jacek Sroka 2 Kolokwium planujemy
Jzyk C++ cz 3. Jarosław Gramacki Instytut Informatyki i Elektroniki ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )
Jzyk C++ cz 3 Jarosław Gramacki Instytut Informatyki i Elektroniki # $$%%& ' ( $)*)+' *, - ( ' )*'.' '',*/ *, ','*0) 1 / ) %*+ 2'' 2" ( $%%) )'20 )*0) 1 / )!" 2 # $$%%& ' ( $%%/,))3 ( %* 2 / 4 ( ( *' *''*,
Kompozycja i dziedziczenie klas
Programowanie obiektowe Kompozycja i dziedziczenie klas Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Kompozycja i dziedziczenie klas
Platformy Programistyczne Wykład z Javy dla zaawansowanych
Platformy Programistyczne Wykład z Javy dla zaawansowanych Agata Migalska 20 maja 2014 Plan wykładu 1 Polimorfizm i dziedziczenie 2 Życie i śmierć obiektu 3 Poziomy oraz modyfikatory dostępu 4 Obsługa
Aplikacje w środowisku Java
Aplikacje w środowisku Java Materiały do zajęć laboratoryjnych Klasy i obiekty - wprowadzenie mgr inż. Kamil Zieliński Katolicki Uniwersytet Lubelski Jana Pawła II 2018/2019 Klasa zbiór pól i metod Obiekt
Programowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Klasy i obiekty Paweł Daniluk Wydział Fizyki Jesień 2011 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2011 1 / 13 Typy danych (w Javie) Typy pierwotne typ wartości
Podstawowe części projektu w Javie
Podstawowe części projektu w Javie Pakiet w Javie to grupa podobnych typów klas, interfejsów i podpakietów. Pakiet w Javie może być wbudowany lub zdefiniowany przez użytkownika. Istnieje wiele wbudowanych
Podstawy Języka Java
Podstawy Języka Java Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania, w którym programy definiuje się za pomocą obiektów elementów łączących
19. Obiektowo± 1 Kacze typowanie. 2 Klasy
1 Kacze typowanie 19. Obiektowo± Sk d interpreter wie, jakiego typu s np. przekazywane do metody argumenty? Tak naprawd wcale nie musi wiedzie. Do poprawnego dziaªania programu istotne jest,»e przekazywany
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {}; static public void m2() {}; void abstract m3();
1. Co można powiedzieć o poniższym kodzie? public interface I { void m1() {; static public void m2() {; void abstract m3(); default static void m4() {; a) Poprawnie zadeklarowano metodę m1() b) Poprawnie
Język JAVA podstawy. Wykład 4, część 1. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 4, część 1 1 Język JAVA podstawy Plan wykładu: 1. Podstawy modelowania obiektowego 2. Konstruktory 3. Dziedziczenie, związki pomiędzy klasami, UML 4. Polimorfizm 5. Klasy abstrakcyjne
1. Klasa typu sealed. Przykład 1. sealed class Standard{ class NowyStandard:Standard{ // błd!!!
Temat: Klasy typu sealed. Klasy abstrakcyjne. Deklaracja i implementacja interfejsu. Typ Object i operatory is oraz as. Czas ycia obiektu. Destruktory. 1. Klasa typu sealed Przykład 1 Klasa typu sealed
Programowanie obiektowe
Programowanie obiektowe Wykład 5 Marcin Młotkowski 23 marca 2017 Plan wykładu 1 2 3 4 5 Marcin Młotkowski Programowanie obiektowe 2 / 50 Historia Początkowe założenia Projekt OAK Sterowanie urządzeniami
Klasy i obiekty cz II
Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy
PHP 5 język obiektowy
PHP 5 język obiektowy Wprowadzenie Klasa w PHP jest traktowana jak zbiór, rodzaj różnych typów danych. Stanowi przepis jak stworzyć konkretne obiekty (instancje klasy), jest definicją obiektów. Klasa reprezentuje
public - może być używana w kodzie poza klasą, jedna klasa ModyfikatorKlasy może być kombinacją wyrażeń:
Klasy Metody [ModyfikatorMetody] TypZwrotny Nazwa (Typ arg1, ) { // implementacja metody ModyfikatorMetody może być kombinacją wyrażeń: modyfikator widzialności public dostępna dla metod spoza klasy protected
dziedziczenie - po nazwie klasy wystąpią słowa: extends nazwa_superklasy
PODSTAWOWE ELEMENTY JĘZYKA JAVA TYPY DANYCH, OPERATORY I INSTRUKCJE 1. Definicja klasy, dziedziczenie, implementowanie metod interfejsów class nazwa_klasy //ciało klasy Klasa: przed słowem class moŝe wystąpić
Programowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Java podstawy jęyka. Wykład 2. Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne.
Java podstawy jęyka Wykład 2 Klasy abstrakcyjne, Interfejsy, Klasy wewnętrzne, Anonimowe klasy wewnętrzne. Wyjątki: obsługa błędów Wydział Fizyki i Informatyki Stosowanej, Uniwersytetu Łódzkiego 12.03.2015
Java - tablice, konstruktory, dziedziczenie i hermetyzacja
Java - tablice, konstruktory, dziedziczenie i hermetyzacja Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak PLAN WYKŁADU zmienne tablicowe konstruktory klas dziedziczenie hermetyzacja
Programowanie w środowiskach graficznych. Wykład 3 Język C#
Programowanie w środowiskach graficznych Wykład 3 Język C# 1 Zagadnienia 1. Wprowadzenie 2. Przestrzenie nazw 3. Typy, parametry, konwersje 4. Klasy 5. Instrukcje sterujące 6. Właściwości 7. Interfejsy,
1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4);
1. Co będzie wynikiem wykonania poniŝszych instrukcji? g2d.gettransform().scale(1, -1); g2d.gettransform().translate(4, -8); g2d.drawline(4, 0, 4, 4); a) b) c) d) 2. Jaki będzie wynik kompilacji i wykonania
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie
Języki i techniki programowania Ćwiczenia 3 Dziedziczenie Klasa abstrakcyjna Autor: Marcin Orchel Klasa abstrakcyjna to taka, że nie możemy tworzyć obiektów tej klasy, możemy jednak dziedziczyć po tej
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02
METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE Wykład 02 NAJPROSTSZY PROGRAM /* (Prawie) najprostszy przykład programu w C */ /*==================*/ /* Między tymi znaczkami można pisać, co się
Wprowadzenie do języka Java
WSNHiD, Programowanie 2 Lab. 1 [ część 1 ] Wprowadzenie do języka Java Wprowadzenie Język programowania Java jest obiektowym językiem programowania. Powstał w 1995 i od tej pory był intensywnie rozwijany.
Obszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski 5 kwietnia 2017
i, lub, nie Cegieªki buduj ce wspóªczesne procesory. Piotr Fulma«ski Uniwersytet Šódzki, Wydziaª Matematyki i Informatyki UŠ piotr@fulmanski.pl http://fulmanski.pl/zajecia/prezentacje/festiwalnauki2017/festiwal_wmii_2017_
Języki i metodyka programowania. Język C# pętle, sterowanie, wyjątki
Język C# pętle, sterowanie, wyjątki Język C# pętle Pętle: while ( ) do { while ( ); for ( ; ; ) foreach ( in
Definicje klas i obiektów. Tomasz Borzyszkowski
Definicje klas i obiektów Tomasz Borzyszkowski Podstawy Do tej pory używaliśmy klas jedynie po to, by zdefiniować metodę main(). Klasy mają znacznie szersze zastosowanie w Java. W OOP (także w Java) klasy
Kurs programowania. Wykład 3. Wojciech Macyna. 22 marca 2019
Wykład 3 22 marca 2019 Klasy wewnętrzne Klasa wewnętrzna class A {... class B {... }... } Klasa B jest klasa wewnętrzna w klasie A. Klasa A jest klasa otaczajac a klasy B. Klasy wewnętrzne Właściwości
Tworzenie aplikacji w języku Java
Tworzenie aplikacji w języku Java Wykład 1 Piotr Czapiewski Wydział Informatyki ZUT 2 października 2009 Piotr Czapiewski (Wydział Informatyki ZUT) Tworzenie aplikacji w języku Java 2 października 2009
Dziedziczenie. dr Jarosław Skaruz
Dziedziczenie dr Jarosław Skaruz http://jareks.ii.uph.edu.pl jaroslaw@skaruz.com Dziedziczenie specjalizacja Dziedziczenie generalizacja Generalizacja-specjalizacja jest takim związkiem pomiędzy klasami,
Programowanie obiektowe
Wykład 2 28 lutego 2019 Plan wykładu 1 2 3 4 5 Plan wykładu 1 2 3 4 5 Krótki opis C Obiektowy, z kontrolą typów; automatyczne odśmiecanie; standardy ISO i ECMA; podobny składniowo do C++; Język C Krótka
PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub
PWSG Ćwiczenia 12 Wszystkie ukończone zadania należy wysłać na adres: sara.m.jurczyk@gmail.com lub sarajurczyk@kul.lublin.pl Zadanie 1: Różnica między zwykłymi polami/metodami, a polami/metodami static
Związek między pojęciami Zasada podstawialności Podklasy muszą realizować kontrakt zawarty przez nadklasy
Janusz Jabłonowski Związek między pojęciami Zasada podstawialności Podklasy muszą realizować kontrakt zawarty przez nadklasy Przedefiniowywanie lub podmienianie (ang. overriding, czasami błędnie tłumaczone
Klasy abstrakcyjne i interfejsy
Klasy abstrakcyjne i interfejsy Streszczenie Celem wykładu jest omówienie klas abstrakcyjnych i interfejsów w Javie. Czas wykładu 45 minut. Rozwiązanie w miarę standardowego zadania matematycznego (i nie
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 2 - wprowadzenie do zmiennych mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 23 października 2017 1 / 26 mgr inż. Krzysztof Szwarc Podstawy i
Logika dla matematyków i informatyków Wykªad 1
Logika dla matematyków i informatyków Wykªad 1 Stanisªaw Goldstein Wydziaª Matematyki i Informatyki UŠ 16 lutego 2016 Wszech±wiat matematyczny skªada si wyª cznie ze zbiorów. Liczby naturalne s zdeniowane
Języki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Wykład 2: Podstawy Języka
Wykład 2: Podstawy Języka 1.wprowadzenie 2.podstawy języka 3.sterowanie 4.inicjacja i sprzątanie 5.kontrola dostępu 6.dziedziczenie 7.polimorfizm 8.obsługa błędów 9.kolekcje obiektów 10.wejście i wyjście
Programowanie obiektowe - 1.
Programowanie obiektowe - 1 Mariusz.Masewicz@cs.put.poznan.pl Programowanie obiektowe Programowanie obiektowe (ang. object-oriented programming) to metodologia tworzenia programów komputerowych, która
Java: interfejsy i klasy wewnętrzne
Java: interfejsy i klasy wewnętrzne Programowanie w językach wysokiego poziomu mgr inż. Anna Wawszczak 1 INTERFEJSY Interfejs to opis co klasa implementująca dany interfejs powinna robić, ale bez określania
Przypomnienie o klasach i obiektach
Wykład 14 Programowanie obiektowe ciąg dalszy, str 1 Przypomnienie o klasach i obiektach -5 należydo int 314 należy do double false należy do boolean {27, 314,-15 należy do double[] wartość należy do typ
Java niezbędnik programisty spotkanie nr 3. Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja...
Java niezbędnik programisty spotkanie nr 3 Modyfikatory, jednostki kompilacji, tworzenie/inicjalizacja, odśmiecanie/ finalizacja... 1 Definicja klasy [modyfikator] class nazwa_klasy { [modyfikator] nazwa_typu
Programowanie 2. Język C++. Wykład 2.
2.1 Definicja, deklaracja, wywołanie funkcji.... 1 2.2 Funkcje inline... 4 2.3 Przekazanie do argumentu funkcji wartości, adresu zmiennej.... 5 2.4 Wskaźniki do funkcji... 8 2.5 Przeładowanie funkcji...
Przykład -
Polimorfizm Przykład - http://rpodhajny.wordpress.com klasa bazowa A, oraz klasy pochodne B1, B2,, Bn (dziedziczące po klasie bazowej). niektóre klasy pochodne chcą mieć możliwość skorzystania z metody